跳至主要內容
版本:5.0

RocketMQ Connect 概念

Connector

Connector 定義資料複製來源和目的地。它從來源系統讀取資料並寫入 RocketMQ,也就是 SourceConnector,或從 RocketMQ 讀取資料並寫入目標系統,也就是 SinkConnector。Connector 決定要建立的任務數,並從 Worker 接收設定檔並傳遞給任務。

任務

任務是 Connector 任務分片的最小配置單位,負責實際將來源資料複製到 RocketMQ (SourceTask),或從 RocketMQ 讀取資料並寫入目標系統 (SinkTask)。任務是無狀態的,可以動態啟動和停止。可以平行執行多個任務,而 Connector 複製資料的平行性主要反映在任務數。

RocketMQ Basic Model

透過 Connect 的 API,您也可以看到 Connector 和任務的責任,Connector 在實作時已決定資料複製流程,Connector 接收資料來源相關設定檔,taskClass 取得要建立的任務類型,而 taskConfigs 指定任務的最大數目,並配置任務設定檔。任務取得設定檔後,便會從資料來源讀取資料並寫入目標儲存。

從以下兩個圖表中,可以清楚看到 Connector 和任務的處理基本流程。

RocketMQ Basic Model

工作器

工作器程序是連接器和任務的執行環境,它提供 RESTful 功能,接受 HTTP 請求,並將取得的設定傳遞給連接器和任務。此外,它負責啟動連接器和任務,儲存連接器設定資訊,儲存任務同步資料的位置資訊,以及負載平衡功能。Connect 群集的高可用性、擴充性和容錯處理主要仰賴工作器的負載平衡功能。

RocketMQ Basic Model

從上圖可看出,工作器透過提供的 REST API 接收 http 請求,並將接收到的設定資訊傳遞給設定管理服務。設定管理服務會將設定儲存在本機,並與其他工作器節點同步,同時也會觸發負載平衡。